问题:
当涉及“维护”时,为了复用而继承,结局并不完美
橡皮鸭子不会呱呱叫,所以把quack()的定义覆盖成“吱吱叫”(squeak)
*设计原则:
找出应用中需要变化的地方,把他们独立出来,不要和那些不要变化的代码混合在一起
针对接口编程,而不是针对实现编程。
“针对接口编程”真正的意思是“针对超类型编程”
多用组合少用继承
策略模式:定义了算法簇,分别封装起来,让它们之前可以相互替换,此模式让算法的变化独立于使用算法的客户
原则:改变的地方,需要封装起来。
问题:
当涉及“维护”时,为了复用而继承,结局并不完美
橡皮鸭子不会呱呱叫,所以把quack()的定义覆盖成“吱吱叫”(squeak)
*设计原则:
找出应用中需要变化的地方,把他们独立出来,不要和那些不要变化的代码混合在一起
针对接口编程,而不是针对实现编程。
“针对接口编程”真正的意思是“针对超类型编程”
多用组合少用继承
策略模式:定义了算法簇,分别封装起来,让它们之前可以相互替换,此模式让算法的变化独立于使用算法的客户
原则:改变的地方,需要封装起来。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。